package cn.com.support.message;

import static cn.com.support.message.CodeType.*;

/**
 * 消息枚举
 * 
 * @since 2012-3-10 下午7:50:53
 * @version 1.0
 * @author Microbun
 */
public enum MessageCodeEnum implements MessageCode {

	/**
	 * NULL该错误不使用
	 */
	NULL(INFO, ""),

	// =========================错误=========================
	/**
	 * 未知原因
	 */
	NO_REASON(ERROR, "未知原因"),
	/**
	 * 查询数据错误
	 */
	ERROR_SELECT(ERROR, "查询数据错误"),
	/**
	 * 插入数据错误
	 */
	ERROR_INSERT(ERROR, "添加数据错误"),
	/**
	 * 更新数据错误
	 */
	ERROR_UPDATE(ERROR, "更新数据错误"),
	/**
	 * 删除数据错误
	 */
	ERROR_DELETE(ERROR, "删除数据错误"),
	/**
	 * 数据重复
	 */
	ERROR_REPEAT(ERROR, "不能重复"),

	// =========================警告=========================

	// =========================信息=========================
	/**
	 * 操作成功
	 */
	INFO_SUCCEED(INFO, "操作成功");

	private String type;

	private String descript;

	/**
	 * 消息枚举构造器
	 * 
	 * @param type
	 *            消息类型
	 * @param descript
	 *            消息描述
	 */
	private MessageCodeEnum(String type, String descript) {
		this.type = type;
		this.descript = descript;
	}

	@Override
	public String descript() {
		return descript;
	}

	@Override
	public String type() {
		return type;
	}

	@Override
	public String code() {
		return toString();
	}

	@Override
	public int codenum() {
		return ordinal();
	}

}
